#ifndef CARDS_H
#define CARDS_H

#include<QSet>
#include<QRandomGenerator>

#include"card.h"

//排序枚举
enum SortType{
    Desc,
    Asc,
    NoSort
};

class Cards
{
public:
    Cards();
    //添加卡牌
    void addCard(const Card& card);
    void addCards(const Cards&cards);
    //删除卡牌
    void removeCard(const Card&card);
    void removeCards(const Cards&cards);
    //直接清空
    void clear();
    //某一个卡牌的数量
    int cardCount(Card&card);
    //是否为空
    bool IsEmpty();
    //卡牌的最大最小点数
    CardPoint getMaxPoint();
    CardPoint getMinPoint();
    //随机发牌
    Card getRandomCard();
    //对卡牌进行排序
    QVector<Card>cardSort(SortType type = SortType::Asc);
    //实现一个相等的操作符重载

private:
    //卡牌类
    QSet<Card>m_cards;
};

#endif // CARDS_H
